package main

import "fmt"

func main() {
	stringInfo := SomeInfo[string, int]{info: "some string information", other: 42}
	fmt.Println(stringInfo)

	numInfo := &SomeInfo[int, int]{info: 233, other: 666}
	fmt.Println(numInfo)
}

type SomeInfo[T any, K any] struct {
	info  T
	other K
}

func (p SomeInfo[T, K]) String() string {
	return fmt.Sprintf("SomeInfo: %v", p.info)
}
